From 9b2a1356f0b86f8fdd44af0e6434734244c016b7 Mon Sep 17 00:00:00 2001 From: Tim Janik Date: Wed, 9 Jan 2002 14:22:34 +0000 Subject: [PATCH] update the accel path upon parent changes. Wed Jan 9 15:20:40 2002 Tim Janik * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel path upon parent changes. --- ChangeLog | 5 +++++ ChangeLog.pre-2-0 | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-2 | 5 +++++ ChangeLog.pre-2-4 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtkmenuitem.c | 20 ++++++++++++++++++++ 8 files changed, 55 insertions(+) diff --git a/ChangeLog b/ChangeLog index cb6543bb85..79c7e6f19d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Jan 9 15:20:40 2002 Tim Janik + + * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel + path upon parent changes. + Wed Jan 9 13:20:14 2002 Tim Janik * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index cb6543bb85..79c7e6f19d 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +Wed Jan 9 15:20:40 2002 Tim Janik + + * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel + path upon parent changes. + Wed Jan 9 13:20:14 2002 Tim Janik * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index cb6543bb85..79c7e6f19d 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Wed Jan 9 15:20:40 2002 Tim Janik + + * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel + path upon parent changes. + Wed Jan 9 13:20:14 2002 Tim Janik * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index cb6543bb85..79c7e6f19d 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +Wed Jan 9 15:20:40 2002 Tim Janik + + * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel + path upon parent changes. + Wed Jan 9 13:20:14 2002 Tim Janik * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index cb6543bb85..79c7e6f19d 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +Wed Jan 9 15:20:40 2002 Tim Janik + + * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel + path upon parent changes. + Wed Jan 9 13:20:14 2002 Tim Janik * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index cb6543bb85..79c7e6f19d 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Wed Jan 9 15:20:40 2002 Tim Janik + + * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel + path upon parent changes. + Wed Jan 9 13:20:14 2002 Tim Janik * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index cb6543bb85..79c7e6f19d 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Wed Jan 9 15:20:40 2002 Tim Janik + + * gtk/gtkmenuitem.c (gtk_menu_item_parent_set): update the accel + path upon parent changes. + Wed Jan 9 13:20:14 2002 Tim Janik * gtk/gtkviewport.c (gtk_viewport_size_allocate): small but important diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index e26fb1b485..c1636a1610 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -67,6 +67,8 @@ static void gtk_menu_item_paint (GtkWidget *widget, GdkRectangle *area); static gint gtk_menu_item_expose (GtkWidget *widget, GdkEventExpose *event); +static void gtk_menu_item_parent_set (GtkWidget *widget, + GtkWidget *previous_parent); static void gtk_real_menu_item_select (GtkItem *item); @@ -151,6 +153,7 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass) widget_class->show_all = gtk_menu_item_show_all; widget_class->hide_all = gtk_menu_item_hide_all; widget_class->mnemonic_activate = gtk_menu_item_mnemonic_activate; + widget_class->parent_set = gtk_menu_item_parent_set; container_class->forall = gtk_menu_item_forall; @@ -1013,6 +1016,23 @@ gtk_menu_item_accel_name_foreach (GtkWidget *widget, } } +static void +gtk_menu_item_parent_set (GtkWidget *widget, + GtkWidget *previous_parent) +{ + GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenu *menu = GTK_IS_MENU (widget->parent) ? GTK_MENU (widget->parent) : NULL; + + if (menu) + _gtk_menu_item_refresh_accel_path (menu_item, + menu->accel_path, + menu->accel_group, + TRUE); + + if (GTK_WIDGET_CLASS (parent_class)->parent_set) + GTK_WIDGET_CLASS (parent_class)->parent_set (widget, previous_parent); +} + void _gtk_menu_item_refresh_accel_path (GtkMenuItem *menu_item, const gchar *prefix, -- 2.30.2